import { boot } from 'quasar/wrappers'
import { GlobalCfgDef } from '../lib/defs/comm'
import fxInit from '../lib'
import {createI18n} from 'vue-i18n'
import messages from '../lib/i18n'

export default boot(async ({ app, router }) => {
  const globalCfg: GlobalCfgDef = {
    // 使用严格密码
    useStrictPassword: true,
    //额外的密码检查，使用严格密码的情况下才会生效
    useExtraPasswordCheck: true,
    encTransPwd: false,
    // 使用用户内部标志位
    userInternalTagsType: 1,
    // 用户内部标志位Label
    userInternalTagsLabel: '分公司',
    // 用户内部标志位是否必填
    userInternalTagsMandatory: false,
    // 用户内部标志位下拉数据源
    userInternalTagsData: [
      {
        label:'总公司',
        value:'1'
      },
      {
        label:'上海本部',
        value:'2'
      },
      {
        label:'杭州分部',
        value:'3'
      },
      {
        label:'昆山子公司',
        value:'4'
      }
    ],

    // MF的字段开关项
    mfFieldOptions: {
      isPayer: {
        isShown: false
      },
      isStorer: {
        isShown: false
      },
      userDef1: {
        isShown: true,
        label: '账册号'
      },
      userDef2: {
        isShown: true,
        label: '海关接口账号'
      },
      userDef3: {
        isShown: true
      }
    },
    enableRoleCompanyRelationDataRight: true,
    enableRoleCustomerRelationDataRight: true,
    enableRoleVendorRelationDataRight: true,
    enableRoleStorerRelationDataRight: false,
    enableRoleWhRelationDataRight: false,
    enableRoleCbRelationDataRight: false,
    enableAccessoryPackDownload: true,
    enableRoleStorerOrgRelationDataRight: true,
    allowResetPasswordByAdmin:true,
    supportLanguageSwitch: true
  }

  // 这里照着抄就行，注意globalInjection如果不为true可能导致全局$t没法使用
  const i18n = createI18n({
    locale: window.localStorage.getItem('lang')??'zh-CN',
    globalInjection: true,
    legacy: false,
    messages,
    fallbackLocale: 'zh-CN',
    silentFallbackWarn: true,
    silentTranslationWarn: true,
  })

  app.use(i18n)
  await fxInit(app, router, globalCfg, import.meta.env)
})
